/**
 * 数组去重方法
 */

/*
 * 采用indexOf包含函数对数组去重
 */
Array.prototype.unique1 = function(){
    var $arr = this ;
    var $uniqueArr = [] ;
    if($arr == null || $arr.length <=0) return $arr ;
    for(var i=0; i< $arr.length; i++){
        if($uniqueArr.indexOf($arr[i]) == -1){
            $uniqueArr.push($arr[i]) ;
        }
    }
    return $uniqueArr ;
}

/*
 * 把数组中的元素搬到另一个数组，搬运过程检查元素是否重复
 * 在判断的时候，采用一个对象（hashtable）来辅助判断元素是否重复
 */
Array.prototype.unique2 = function(){
    var $arr = this ;
    var $uniqueArr = [] ;
    var hashtable = {} ;//用来辅助判断元素是否重复
    if($arr == null || $arr.length <=0) return $arr ;
    for(var i=0,element; (element = $arr[i]) != null; i++){
        if(!hashtable[element]){//元素没重复
            $uniqueArr.push(element) ;
            hashtable[element] = true ;
        }
    }
    return $uniqueArr ;
}
